package com.xltq.service;

import com.xltq.entity.User;

//用户注册和登录的Service逻辑
public interface IUserService {
    /*
    开发中尽量避免Service进行"透传操作"
    "透传操作"就要相当于Service只是调用Dao层获取数据向上传递
    并没有条件任何逻辑性操作
    service中需要处理一些Dao的数据获取之后的操作和Servlet接受数据之后
    需要处理之后在存到Dao层中时,进行一些数据处理
     */

    /**
     * 检查用户名是否存在
     * @param username 用户名
     * @return true就是存在 false就是不存在
     * @throws Exception
     */
   boolean checkeUser(String username)throws  Exception;

    /**
     * 用户注册的业务逻辑
     * @param user 封装着用户注册的信息
     * @return dao层操作之后受到影响的行数
     * @throws Exception
     */
   int registerUser(User user) throws  Exception;

    /**
     * 激活方法
     * @param code 根据激活码进行激活
     * @return  三个状态 0激活失败  1激活成功 2已经激活
     */
    int activeUser(String code) throws  Exception;

    /**
     * 登录的业务逻辑
     */
    /**
     * 登录的业务逻辑
     * @param username 用户名
     * @param password 密码
     * @return 得到user对象
     * @throws Exception
     */
    User login(String username, String password) throws Exception;
}
